iT邦幫忙

2024 iThome 鐵人賽

0
自我挑戰組

從零開始的Python到Django應用開發系列 第 9

Day 09. Coding Practice 你應該要有的Py能力(解題篇)

  • 分享至 

  • xImage
  •  

Dear All:

讓我們把昨天的題目來解題吧!把這20題搞定你對於Python肯定已經入木三分了!Let's Go!

變數型別 (Data Types)

1.題目: 創建一個變數並將整數 100 賦值給它。然後將這個變數轉換為浮點數並顯示出來。

def one():
    num = 100
    float_num = float(num)
    print("整數", num, "轉換為浮點數為", float_num)
one() #output:整數 100 轉換為浮點數為 100.0

2.題目: 創建一個變數並將一個字符串賦值給它,然後將該字符串轉換為一個列表,每個字符為列表中的一個元素。

def two():
    my_string = "Hello, World!"  # 這是我們要轉換的字符
    # 將字符串轉換為列表,每個字符為一個元素
    my_list = list(my_string)
    print(my_list)
two() #output:['H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!']

3.題目: 創建一個列表,裡面包含 5 個不同類型的數據(如整數、浮點數、字符串)。使用 type() 顯示每個元素的類型。

def three():
    my_list = [10, 3.14, "Hello", True, None]  # 創建一個包含不同類型數據的列表
    for item in my_list:  # 使用 for 迴圈遍歷列表,並打印每個元素及其類型
        print(item, "的類型是:", type(item))
three() 
#output:
'''
10 的類型是: <class 'int'>
3.14 的類型是: <class 'float'>
Hello 的類型是: <class 'str'>
True 的類型是: <class 'bool'>
None 的類型是: <class 'NoneType'>
'''

4.題目: 給定一個字符串 s = "hello", 將它轉換為一個列表並顯示。然後將列表中的字符反轉並重新組合成字符串。

def four():
    s = "hello"
    s_list = list(s)
    s_list.reverse()
    reverse = "".join(s_list)
    print(reverse)
four() #output:olleh

迴圈 (Loops)

5.題目: 使用 for 迴圈遍歷一個包含 5 個整數的列表,計算所有數字的總和。

def five():
    numbers = [1, 2, 3, 4, 5]
    total = 0
    for num in numbers:
        total += num
    print("總和為:",total)
five()#output: 15

6.題目: 使用 while 迴圈從 1 遍歷到 10,並打印每個數字的平方。

def six():
    i = 1
    while i <= 10:
        print(i * i)
        i += 1
six()#1 4 9 16 25 36 49 64 81 100

7.題目: 給定一個數字列表 numbers = [1, 2, 3, 4, 5],使用迴圈將所有數字乘以 2,並顯示更新後的列表。

def seven():
    numbers = [1, 2, 3, 4, 5]
    for i in range(len(numbers)):
        numbers[i] *= 2
    print(numbers)
seven() #[2, 4, 6, 8, 10]

8.題目: 寫一個程序,使用 while 迴圈,直到使用者輸入 "exit" 字符串時結束。

def eight():
    while True:
        user_input = input("請輸入 (輸入 'exit' 結束): ")
        if user_input == "exit":
            break
eight()

9.題目: 使用巢狀迴圈打印以下形狀:

def Nine():
    rows = 4  # 行數
    for i in range(rows):
        for j in range(i+1):
            print("*", end="")
        print()
Nine()

函式 (Functions)

10.題目: 定義一個函式 add_numbers,它接受兩個參數並返回它們的和。

def add_numbers(num1, num2):
  return num1 + num2

11.題目: 編寫一個函式 is_even,該函式接受一個整數參數,並返回該數是否為偶數的布林值。

def is_even(number):
  return number % 2 == 0

12.題目: 編寫一個函式 factorial,該函式接收一個整數並返回該整數的階乘(例如,5 的階乘為 5×4×3×2×1)。

def factorial(n):
  if n == 0:
    return 1
  else:
    return n * factorial(n - 1)

13.題目: 編寫一個函式 fibonacci(n),返回長度為 n 的費波那契數列。

def fibonacci(n):
  fib_list = [0, 1]
  if n <= 2:
    return fib_list[:n]
  for i in range(2, n):
    fib_list.append(fib_list[i-1] + fib_list[i-2])
  return fib_list

14.題目: 編寫一個函式 sum_list,該函式接受一個數字列表,並返回該列表的所有數字總和。

def sum_list(numbers):
  total = 0
  for num in numbers:
    total += num
  return total

15.題目: 編寫一個函式 count_vowels,該函式接受一個字符串並返回字符串中元音字母(a, e, i, o, u)的數量。

def count_vowels(string):
  vowels = "aeiouAEIOU"
  count = 0
  for char in string:
    if char in vowels:
      count += 1
  return count

方法 (Methods)

16.題目: 給定一個字符串 s = "Python is great", 使用 .upper() 和 .lower() 方法將字符串轉換為大寫和小寫。

s = "Python is great"
# 轉換為大寫
print(s.upper())  # 输出:PYTHON IS GREAT
# 轉換為小寫
print(s.lower())  # 输出:python is great

17.題目: 創建一個列表 numbers = [3, 6, 1, 9, 2],使用 .sort() 方法將列表排序。

numbers = [3, 6, 1, 9, 2]
# 升序排序
numbers.sort()
print(numbers)  # 输出:[1, 2, 3, 6, 9]
# 降序排序
numbers.sort(reverse=True)
print(numbers)  # 输出:[9, 6, 3, 2, 1]

18.題目: 使用 .append() 方法將一個新元素添加到列表中,並使用 .remove() 方法刪除一個特定的元素。

numbers = [3, 6, 1, 9, 2]
# 添加元素
numbers.append(5)
print(numbers)  # 输出:[3, 6, 1, 9, 2, 5]
# 刪除元素
numbers.remove(6)
print(numbers)  # 输出:[3, 1, 9, 2, 5]

19.題目: 給定一個字符串 s = " hello world ", 使用 .strip() 方法移除字符串開頭和結尾的空格。

s = " hello world "
# 移除兩端空格
s = s.strip()
print(s)  # 输出:hello world

20.題目: 使用 .replace() 方法將一個字符串中的所有 "Python" 替換為 "Java"。

s = "Python is great, I love Python"
# 替換所有 "Python" 為 "Java"
s = s.replace("Python", "Java")
print(s)  # 输出:Java is great, I love Java

進度更新表:

https://ithelp.ithome.com.tw/upload/images/20241017/20115294q7fQ3DVMex.png


上一篇
Day 8. Coding Practice 你應該要有的Py能力
下一篇
Day 10. Modules and Packages 你不可不知道的觀念
系列文
從零開始的Python到Django應用開發10
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言